import request from '@/config/axios/appRequest'
export interface employeeListVO {
  employeeId: number
  proportion: number
} //选中的员工
export interface cartItemVO {
  goods_num?: number //购买数量
  isReserve: any
  isArrears: any
  employeeText?: string //销售员工文字展示信息(不传值)
  skuId?: number // skuId 一键购买或sku列表下加购物车 (spu列表规格项选择后也会有对应skuId 所以用了一个逻辑)
  shoppingId?: number //购物ID 		购物车场景下 购物车中修改数量和价格等传此id
  isSales?: number // 是否销售		1销售(默认) 0 赠送
  reserveNumber?: number //寄存数量
  arrearsPrice?: number //欠款
  discountType?: number //0优惠至 1优惠折扣
  discountPrice?: number //优惠值
  employeeList?: Array<employeeListVO> //单一销售
  cardValue?: number //储值卡金额
  isGift?: number //是否赠金 0 否 1 是
  giftValue?: number //赠送金额
  isPoints?: number //是否赠送积分  0 否 1 是
  points?: number //积分
  coupon?: EmptyArrayType //充值时赠送的优惠券
} //选中的商品
export interface CartVO {
  userId?: number //会员ID 接口必填
  walletId?: any
  count?: number
}
export interface serviceCartItemVO {
  id: any
  goods_num: any
  userId?: number
  count?: number
} //选中的商品
export interface ServiceCartVO {
  userId?: number //会员ID 接口必填
  orderId?: string //订单号
  character?: number //订单来源 0 平台（默认） 1 服务商 2 厂家 3 代理商 4 公司 5门店 6商城 7 独立 8 分账
  device?: number //订单入口 0 PC（默认） 1 APP 2 小程序 3 H5 4 微信公众号 5 终端设备 6其他未知
  employeeList?: Array<employeeListVO> //适用于门店模式（统一）
  items?: Array<serviceCartItemVO>
}

/**
 * 提交订单参数
 *  */
export interface ConfirmCartVO {
  userId: number //会员ID 必填
  orderId: string | undefined //订单号
  character?: number //
  device?: number //
  password: string //支付密码
  rebateType: number //销售方式 0 统一销售(默认) 1 单独销售
  isRepair: number //是否补录
  repairDate?: string //补录日期
  items: EmptyArrayType //购物物品
  remarks?: string //备注
  employeeList?: Array<employeeListVO> //适用于门店模式（统一）
}
export interface ServiceConfirmCartVO {
  userId: number //会员ID 必填
  orderId: string | undefined //订单号
  character?: number //
  device?: number //
  password: string //支付密码
  rebateType: number //销售方式 0 统一销售(默认) 1 单独销售
  isRepair: number //是否补录
  repairDate?: string //补录日期
  remarks?: string //备注
  employeeList?: Array<employeeListVO> //适用于门店模式（统一）
}
declare interface paymentListAssetsListType {
  assetsType: string //资产分类 会员积分=》0 会员积分 会员余额=》1 普通余额 2赠送余额 3 会员余额折扣 储值卡=》4 普通储值 卡面额 5赠送储值卡面额 6 储值卡折扣 优惠劵=》7 优惠劵 会员折扣=》8 会员折扣
  assetsName?: string //资产名称
  balance: number //使用额度
  unit?: string //单位
  rate?: string //费率（折扣比例）
  rateComments?: string //费率说明
  usingSku?: string //购物车中可使用资产商品集合
  moeny?: string //折算金额（元）（输出）
}
declare interface paymentListType {
  classify: string //分类code
  classiName?: string //分类名称
  assetsId: string //资产ID
  isUsingDis?: boolean //使用折扣 1 是（默认） 0 否
  assetsTitle?: string //资产描述
  assetsList: Array<paymentListAssetsListType>
}
/**
 * 用户其他支付
 *  */
export interface OtherPayVO {
  userId: number //会员ID 必填
  orderId: string | undefined //订单号
  paymentList: Array<paymentListType>
}
export interface RepayVO {
  userId: number //会员ID 必填
  orderItemIds: any //订单号
}

export function getCartList(params) {
  return request.get({
    url: '/trade/cart/list',
    params
  })
}

export function addCart(data: CartVO) {
  return request.post({
    url: '/trade/cart/add',
    data: data
  })
}
export function updateCartCount(data: CartVO) {
  return request.put({
    url: '/trade/cart/update-count',
    data: data
  })
}
export function deleteCart(params) {
  return request.delete({
    url: '/trade/cart/delete',
    params
  })
}
export function confirmCart(data: ConfirmCartVO) {
  return request.post({
    url: '/trade/assets/confirm',
    data: data
  })
}
export function confirmPay(data: OtherPayVO) {
  return request.post({
    url: '/trade/assets/pay',
    data: data
  })
}
export function confirmOtherPay(data: OtherPayVO) {
  return request.post({
    url: '/trade/assets/otherpay',
    data: data
  })
}

export function getServiceCartList(params: ServiceCartVO) {
  return request.get({
    url: '/trade/cart/listWallet',
    params
  })
}
export function getServiceCartListH(params: ServiceCartVO) {
  return request.get({
    url: '/trade/cart/listH',
    params
  })
}
export function addServiceCart(data: ServiceCartVO) {
  return request.post({
    url: '/trade/cart/addWallet',
    data: data
  })
}
export function addReplaceCart(data: ServiceCartVO) {
  return request.post({
    url: '/trade/cart/addH',
    data: data
  })
}
export function confirServicemCart(data: ServiceConfirmCartVO) {
  return request.post({
    url: '/pay/assets/confirm',
    data: data
  })
}
// 寄存
export function addReserve(data: CartVO) {
  return request.post({
    url: '/trade/cart/addReserve',
    data: data
  })
}
export function updateReserve(data: CartVO) {
  return request.put({
    url: '/trade/cart/update-reserve',
    data: data
  })
}
export function getReserveCartList(params: ServiceCartVO) {
  return request.get({
    url: '/trade/cart/listReserve',
    params
  })
}
// 还款
export function addRepay(data: RepayVO) {
  return request.post({
    url: '/trade/cart/addRepay',
    data: data
  })
}
// export function removeServiceCart(data: ServiceCartVO) {
//   return request.post({
//     url: '/pay/assets/remove',
//     data: data
//   })
// } //卡项删除
